# -*- coding: utf-8 -*-
from wineAreas import RegionArea, regionClassGenerator, FranceArea
from qtcommon import tr

# define this region classes
BurgundyArea , BurgundyAppellation, BurgundyGroup, newgroup = regionClassGenerator("Burgundy", tr("Burgundy") , FranceArea)


                                                                        
# fill the specifics to this region. we put it in a function so it is invoked only when needed.
def createRegion():
    BurgundyArea._cepages = [
        ["Pinot noir"],
        ["Chardonnay",u"Aligoté"],
        []
        ]

    
    r = BurgundyArea()
    r.addAppellations( [
        newgroup(tr("Regional appellations"),id="regional") ,
        u"Bourgogne",
        u"Bourgogne-aligoté",
        u"Bourgogne mousseux",
        u"Bourgogne grand ordinaire",
        u"Bourgogne-passe-tout-grains",
        u"Crémant-de-bourgogne",
        newgroup(tr("Sub-Regional appellations"),id="subregional") ,
        u"Côte-de-nuits-villages",
        u"Côte-de-beaune-villages",
        u"Mâcon",
        newgroup(tr('Bourgogne appellations'),id="sub-bourgogne") ,
        u"Chitry",
        u"Côte-chalonnaise",
        u"Côte-d'auxerre",
        u"Côtes-du-couchois",
        u"Côte-saint-jacques",
        u"Coulanges-la-vineuse",
        u"Épigneul",
        u"Hautes-côtes-de-beaune",
        u"Hautes-côtes-de-nuits",
        u"Le-chapitre",
        u"La-chapelle-notre-dame",
        u"Montrecul",
        u"Tonnerre",
        u"Vézelay",

        newgroup(tr("Basse-Bourgogne AOC")),
        u"Chablis",
        u"Chablis 1er Cru",
        u"Chablis Grand Cru",
        u"Petit-chablis",
        u"Irancy",
        u"Saint-bris",
        
        newgroup(tr("Côte de Nuits AOC")),
        u"Chambolle-musigny",
        u"Fixin",
        u"Gevrey-chambertin",
        u"Marsannay",
        u"Morey-saint-denis",
        u"Nuits-saint-georges",
        u"Vosne-romanée",
        u"Vougeot",

        u"Chambolle-musigny 1er Cru",
        u"Fixin 1er Cru",
        u"Gevrey-chambertin 1er Cru",
        u"Morey-saint-denis 1er Cru",
        u"Nuits-saint-georges 1er Cru",
        u"Vosne-romanée 1er Cru",
        u"Vougeot 1er Cru",

        u"Chambolle-musigny Grand Cru",
        u"Gevrey-chambertin Grand Cru",
        u"Morey-saint-denis Grand Cru",
        u"Vosne-romanée Grand Cru",
        u"Vougeot Grand Cru",
        u"Échezeaux Grand Cru",
        u"Grands-échezeaux Grand Cru",

        newgroup(tr("Côte de Beaune AOC")),	
        u"Aloxe-corton",
        u"Auxey-duresses",
        u"Beaune",
        u"Blagny",
        u"Chassagne-montrachet",
        u"Chorey-lès-beaune",
        u"Côte-de-beaune",
        u"Ladoix",
        u"Maranges",
        u"Meursault",
        u"Monthélie",
        u"Pernand-Vergelesses",
        u"Pommard",
        u"Puligny-montrachet",
        u"Saint-aubin",
        u"Saint-romain",
        u"Santenay",
        u"Savigny-lès-beaune",
        u"Volnay",

        u"Aloxe-corton 1er Cru",
        u"Auxey-duresses 1er Cru",
        u"Beaune 1er Cru",
        u"Blagny 1er Cru",
        u"Chassagne-montrachet 1er Cru",
        u"Ladoix 1er Cru",
        u"Maranges 1er Cru",
        u"Meursault 1er Cru",
        u"Montagny 1er Cru",
        u"Monthélie 1er Cru",
        u"Pernand-vergelesses 1er Cru",
        u"Pommard 1er Cru",
        u"Puligny-montrachet 1er Cru",
        u"Saint-aubin 1er Cru",
        u"Santenay 1er Cru",
        u"Savigny-lès-beaune 1er Cru",
        u"Volnay 1er Cru",

        u"Aloxe-corton Grand Cru",
        u"Chassagne-montrachet Grand Cru",
        u"Ladoix Grand Cru",
        u"Pernand-vergelesses Grand Cru",
        u"Puligny-montrachet Grand Cru",        

        newgroup( tr("Côte chalonnaise AOC")),
        u"Bouzeron",
        u"Givry",
        u"Mercurey",
        u"Montagny",
        u"Rully",

        u"Givry 1er Cru",
        u"Mercurey 1er Cru",
        u"Rully 1er Cru",
        
        newgroup( tr("Macon region AOC") ),
        u"Saint-véran",
        u"Pouilly-fuissé",
        u"Viré-clessé",
        u"Pouilly-loché",
        u"Pouilly-vinzelle",
        ]
                       )

    return r
